package com.xunk.equipment.service.acrel.service;

import com.xunk.equipment.service.IEquipmentService;
import com.xunk.equipment.service.acrel.vo.AcrelFlowmeterDetailVO;

import java.text.ParseException;
import java.util.List;

/**
 * @ProjectName: xunk
 * @Package: com.xunk.equipment.service.acrel.service
 * @ClassName: SmartHeatService
 * @Author: dongxiaoxin
 * @Description: 暖气服务类
 * @Date: 2021/3/29 15:47
 * @Version: 1.0
 */
public interface AcrelSmartService extends IEquipmentService {

    /**
     *  设备在线状态  mqtt 返回 0：离线，1：在线
     */
    String ONLINE_STATUS = "1";

    /**
     *  根据unit查询流量
     *
     * @param homeId    家庭id
     * @param unit      查询单位
     * @return  流量表
     */
    <T> List<T> queryFlowmeter(Long homeId, String unit) throws ParseException;

    /**
     *  保存时序数据
     * @param gateId    网关id
     * @param vo        流量数据
     * @param time      时间
     */
    void saveInfluxData(String gateId, AcrelFlowmeterDetailVO<?> vo, String time);

    /**
     *  查询设备在线信息
     * @param deviceSn 设备id
     * @return
     */
    boolean queryOnlineInfo(String deviceSn);

    void saveAlarmData(String gateId, AcrelFlowmeterDetailVO<?> vo);
}
